package cc.zy.base.hr.service;


import cc.zy.base.common.entity.QueryRequest;
import cc.zy.base.hr.entity.ScoreIntegral;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface IScoreIntegralService extends IService<ScoreIntegral> {

    /**
     * 查询（分页）
     *
     * @param request QueryRequest
     * @param scoreIntegral scoreIntegral
     * @return IPage<ScoreIntegral>
     */
    IPage<ScoreIntegral> findScoreIntegrals(QueryRequest request, ScoreIntegral scoreIntegral);

    /**
     * 通过ID查找积分详细信息
     *
     * @param id id
     * @return 积分详情信息
     */
    ScoreIntegral findScoreIntegralDetailList(Integer id);

    /**
     * 通过ID查找积分详细信息
     *
     * @param id id
     * @return 积分详情信息
     */
    ScoreIntegral findByScoreIntegralId(Integer id);

    /**
     * 查询（所有）
     *
     * @param scoreIntegral scoreIntegral
     * @return List<ScoreIntegral>
     */
    List<ScoreIntegral> findScoreIntegrals(ScoreIntegral scoreIntegral);

    /**
     * 新增
     *
     * @param scoreIntegral scoreIntegral
     */
    void createScoreIntegral(ScoreIntegral scoreIntegral);

    /**
     * 修改
     *
     * @param scoreIntegral scoreIntegral
     */
    void updateScoreIntegral(ScoreIntegral scoreIntegral);

    /**
     * 删除
     *
     * @param scoreIntegral scoreIntegral
     */
    void deleteScoreIntegral(ScoreIntegral scoreIntegral);

    /**
     * 批量删除
     *
     * @param scoreIntegralIds 积分id数组
     */
    void deleteScoreIntegrals(String[] scoreIntegralIds);

    /**
     * 查询不带分页
     */
    List<ScoreIntegral> findScoreIntegralListNotPage(ScoreIntegral scoreIntegral);

    /**
     * 查询前台输入的全称或简称是否存在
     *
     * @param1 staffId
     * @param2 scoreDesc
     * @return
     */
    Boolean isRepetitive(Integer staffId, String scoreDesc);

    /**
     * 查询前台输入的全称或简称是否存在
     *
     */
    Integer findScoreIntegralNullId();

}
